/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	ShaderResourceViewDesc.h
*
*	Description -	Shader ResourceView Description
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	12/17/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_SHADER_RESOURCE_VIEW_DESC_H_
#define _PSX_SHADER_RESOURCE_VIEW_DESC_H_

#include "PulseSTD.h"
#include "GraphicsTypes.h"

namespace Pulse
{
	class ShaderResourceViewDesc
	{
	public:

		ShaderResourceViewDesc( void );

		void Set( EGraphicsFormat::Type format, EGraphicsSRVDimension::Type dimension, 
			Tex2DInfoSRV *pTex2DInfo );

		void Set( EGraphicsFormat::Type format, BufferInfoSRV *pBufferInfo );

		void SetDefaults( void );

	public:

		EGraphicsFormat::Type		m_format;
		EGraphicsSRVDimension::Type m_viewDimension;

		union
		{
			Tex2DInfoSRV m_tex2DInfo;
			BufferInfoSRV m_bufferInfo;
		};
	};
}

#endif /* _PSX_SHADER_RESOURCE_VIEW_DESC_H_ */